壓線報名的我一直在猶豫要選擇什麼樣的主題去嘗試連續 30 天不中斷的分享,本想透過這一年多來的 SRE 工作去粗淺的分享自己所碰所學的 SRE 工作內容,但是要把內容講得好又能去掉那些機敏資訊,似乎超出了我的能力範圍,同時我也擔心講述範圍過大導致內容空泛,因此我決定透過 『 30天挑戰精通POWERSHELL - 第四版 』這本書( 接下來都以本書簡稱 )精進自己目前在工作上最常用到的 PowerShell Script 的底層邏輯,並透過各章節學習,反思目前用在 Azure DevOps Pipeline & Release 的 PowerShell Script 是否有可以優化的空間或是更加理解每隻 script 設計的邏輯。
我剛開始碰到 PowerShell 的指令檔時,就很好奇怎麼會有副檔名是 ps1,這個 1 的由來是什麼?
所以我先搜尋了是否有文件格式副檔名為 ps,還真的有,PostScript File Format( 這是保存在Adobe PostScript 語言圖像文件文件擴展名 ),後來又找到了這篇 2009年 網路論壇討論串 - Why ".PS1" file extension for PS scripts? 中看到,原來早期微軟在設計 PowerShell 時,曾經思考著要針對每個不同 PowerShell 的版本依循版本建立新的文件格式,所以在第一版的 PowerShell 誕生時,就將副檔名訂為 ps1,可是後來這樣的邏輯並沒有延續下去,因此才有了如今 PowerShell 都已經出到 7.4 版了,使用的副檔名仍然是 ps1。
Day 2 - 初探 PowerShell